
package com.insigma.business.qrcode.job._provider;




import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.job.dto.request.JobCandidateResumeInsertRequest;
import com.insigma.business.qrcode.job.dto.request.JobCandidateResumeSearchRequest;
import com.insigma.business.qrcode.soldier.request.BaseGetRequest;
import com.insigma.business.qrcode.job.dto.JobCandidateResumeDTO;
import com.insigma.business.qrcode.job.dto.request.JobCandidateResumeUpdateRequest;

import java.util.List;


public interface JobCandidateResumeProvider {

    
    BasePagingResponse<List<JobCandidateResumeDTO>> searchJobCandidateResume(final JobCandidateResumeSearchRequest jobCandidateResumeSearchRequest);

    
    BasePagingResponse<List<JobCandidateResumeDTO>> searchResumeOfCompanyAndPosition(final JobCandidateResumeSearchRequest request);

    
    BaseResponse<JobCandidateResumeDTO> getJobCandidateResume(final BaseGetRequest baseGetRequest);

    
    BaseResponse<JobCandidateResumeDTO> getMyResume(final String userId);

    
    BaseResponse<String> insertJobCandidateResume(final JobCandidateResumeInsertRequest jobCandidateResumeInsertRequest);

    
    BaseResponse<Integer> updateJobCandidateResume(final JobCandidateResumeUpdateRequest jobCandidateResumeUpdateRequest);

    
    BaseResponse<Integer> deleteJobCandidateResume(final BaseDeleteRequest deleteRequest);

    
    BaseResponse<Integer> updateMyResume(final JobCandidateResumeUpdateRequest candidateResumeUpdateRequest);

    
    BaseResponse<Integer> updateMyResumeOfExpect(final JobCandidateResumeUpdateRequest request);
}
